home *** CD-ROM | disk | FTP | other *** search
/ H4CK3R 14 / hacker14.iso / programacao / visual / perl.exe / {app} / Templates / other / Sql_oracle.sql < prev    next >
Encoding:
Text File  |  2003-01-11  |  1.3 KB  |  41 lines

  1. -- These stored procedures assume that you have already run DEMOBLD7.SQL
  2.  
  3.  
  4. create or replace package Employee as
  5.  type NUMARRAY is table of NUMBER  index by BINARY_INTEGER;   --Define EMPNOS array
  6.  type VCHAR2ARRAY is table of VARCHAR2(10)  index by BINARY_INTEGER;   --Define ENAMES array
  7.  PROCEDURE GetEmpNamesInArray (ArraySize IN INTEGER, inEmpnos IN NUMARRAY, outEmpNames OUT VCHAR2ARRAY);
  8.  PROCEDURE GetEmpName (inEmpno IN NUMBER, outEmpName OUT VARCHAR2);
  9.  FUNCTION GetEmpSal (inEmpno IN NUMBER)  RETURN NUMBER;
  10.  
  11. end Employee;
  12. /
  13.  
  14.  
  15. create or replace package body Employee as
  16.  
  17. PROCEDURE GetEmpNamesInArray (ArraySize IN INTEGER, inEmpnos IN NUMARRAY, outEmpNames OUT VCHAR2ARRAY) is
  18. --ArrIndex INTEGER;
  19. BEGIN 
  20. FOR I in 1..ArraySize loop   
  21.     SELECT ENAME into outEmpNames(I) from EMP WHERE EMPNO = inEmpNos(I);
  22.         INSERT INTO part_nos(partno, description) VALUES (inEmpNos(I), outEmpNames(I));
  23. END LOOP; 
  24. END;
  25.  
  26.  
  27. PROCEDURE GetEmpName (inEmpno IN NUMBER, outEmpName OUT VARCHAR2) is 
  28. BEGIN 
  29.  SELECT ENAME into outEmpName from EMP WHERE EMPNO = inEmpNo;
  30. END;
  31.  
  32. FUNCTION GetEmpSal (inEmpno IN NUMBER)
  33. RETURN NUMBER is 
  34.   outEmpsal NUMBER(7,2);
  35. BEGIN 
  36.   SELECT SAL into outEmpsal from EMP WHERE EMPNO = inEmpno;
  37.   RETURN (outEmpsal);
  38. END;
  39.  
  40. end Employee;
  41. /